Home Courses About Feedback
Courses Content
Advanced Software Engineering
 
 
Advanced Software Engineering
Course in Business Comunications
 
Advanced Software Engineering

The following course in Advanced Software Engineering is provided in its entirety by Atlantic International University's "Open Access Initiative" which strives to make knowledge and education readily available to those seeking advancement regardless of their socio-economic situation, location or other previously limiting factors. The University's Open Courses are free and do not require any purchase or registration, they are open to the public.

The course in Advanced Software Engineering contains the following:

  • Lessons in video format with explaination of theoratical content.
  • Complementary activities that will make research more about the topic , as well as put into practice what you studied in the lesson. These activities are not part of their final evaluation.
  • Texts supporting explained in the video.

The Administrative Staff may be part of a degree program paying up to three college credits. The lessons of the course can be taken on line Through distance learning. The content and access are open to the public according to the "Open Access" and " Open Access " Atlantic International University initiative. Participants who wish to receive credit and / or term certificate , must register as students.


Lesson 1:Software engineering

When the first digital computers appeared in the early 1940s,[4] the instructions to make them operate were wired into the machine. Practitioners quickly realized that this design was not flexible and came up with the "stored program architecture" or von Neumann architecture. Thus the division between "hardware" and "software" began with abstraction being used to deal with the complexity of computing.
Programming languages started to appear in the 1950s and this was also another major step in abstraction. Major languages such as Fortran, ALGOL, and COBOL were released in the late 1950s to deal with scientific, algorithmic, and business problems respectively. E.W. Dijkstra wrote his seminal paper, "Go To Statement Considered Harmful",[5] in 1968 and David Parnas introduced the key concept of modularity and information hiding in 1972[6] to help programmers deal with the ever increasing complexity of software systems.

Video Conference

Lecture Materials

Lesson 2: Extreme programming

Other elements of extreme programming include: programming in pairs or doing extensive code review, unit testing of all code, avoiding programming of features until they are actually needed, a flat management structure, simplicity and clarity in code, expecting changes in the customer's requirements as time passes and the problem is better understood, and frequent communication with the customer and among programmers.[2][3][4] The methodology takes its name from the idea that the beneficial elements of traditional software engineering practices are taken to "extreme" levels. As an example, Code reviews are considered a beneficial practice; taken to the extreme, code can be reviewed continuously, i.e. the practice of Pair programming.

Video Conference

Lecture Materials

Lesson 3: Formal methods


In computer science, specifically software engineering and hardware engineering, formal methods are a particular kind of mathematically based techniques for the specification, development and verification of software and hardware systems.[1] The use of formal methods for software and hardware design is motivated by the expectation that, as in other engineering disciplines, performing appropriate mathematical analysis can contribute to the reliability and robustness of a design.

Video Conference:

Lecture Materials

Lesson 4: Soft systems methodology


It is a common misunderstanding that SSM is a methodology for dealing solely with ‘soft problems’ (i.e., problems which involve psychological, social, and cultural elements). SSM does not differentiate between ‘soft’ and ‘hard’ problems, it merely provides a different way of dealing with situations perceived as problematic. The ‘hardness’ or ‘softness’ is not the intrinsic quality of the problem situation to be addressed, it is an aspect of the way those involved address the situation. Each situation perceived as problematic has both ‘hard’ and ‘soft’ elements. The very notion of a problem is contingent on a human being perceiving it as such. e.g. One man's terrorist is another man's freedom fighter.

Video Conference:

Lecture Materials

Lesson 5: Software Process Improvement

Software Process Improvement (SPI) is a set of activities that will lead to a better software process, and thus higher quality software delivered in a more timely manner Abstract. Many organizations wish to improve the quality of software they develop, the predict- ability of developing it, and the productivity of the people developing it. One approach for doing this is to improve software development processes. Most process models identify purely technical approaches to improve software processes and seldom consider organizational or cultural issues. This paper, on the other hand, identifies ten steps for managing change that address these issues. Four of these steps are critical, that if not done, will almost guarantee failure. This ten-step program emphasizes the alignment of business goals, change process goals, and the work performed by the employees of an organization.

Video Conference:

Lecture Materials

Lesson 6: Software quality


Structural quality is evaluated through the analysis of the software inner structure, its source code, at the unit level, the technology level and the system level, which is in effect how its architecture adheres to sound principles of software architecture outlined in a paper on the topic by OMG.[2] In contrast, functional quality is typically enforced and measured through software testing.

Video Conference:

Lecture Materials

Lesson 7: Software metric

A software metric is a measure of some property of a piece of software or its specifications. Since quantitative measurements are essential in all sciences, there is a continuous effort by computer science practitioners and theoreticians to bring similar approaches to software development. The goal is obtaining objective, reproducible and quantifiable measurements, which may have numerous valuable applications in schedule and budget planning, cost estimation, quality assurance testing, software debugging, software performance optimization, and optimal personnel task assignments.

Video Conference:

Lecture Materials

Lesson 8: Requirements management


The purpose of requirements management is to ensure that an organization documents, verifies, and meets the needs and expectations of its customers and internal or external stakeholders. Requirements management begins with the analysis and elicitation of the objectives and constraints of the organization. Requirements management further includes supporting planning for requirements, integrating requirements and the organization for working with them (attributes for requirements), as well as relationships with other information delivering against requirements, and changes for these.

Video Conference:

Lecture Materials

 

Lesson 9: Requirements analysis

Requirements analysis in systems engineering and software engineering, encompasses those tasks that go into determining the needs or conditions to meet for a new or altered product, taking account of the possibly conflicting requirements of the various stakeholders, analyzing, documenting, validating and managing software or system requirements.[2] Requirements analysis is critical to the success of a systems or software project.[3] The requirements should be documented, actionable, measurable, testable, traceable, related to identified business needs or opportunities, and defined to a level of detail sufficient for system design.

Video Conference:

Lecture Materials

 

Lesson 10: Configuration management


Configuration management (CM) is a systems engineering process for establishing and maintaining consistency of a product's performance, functional and physical attributes with its requirements, design and operational information throughout its life. The CM process is widely used by military engineering organizations to manage complex systems, such as weapon systems, vehicles, and information systems. Outside the military, the CM process is also used with IT service management as defined by ITIL, resp. ISO/IEC 20000, and with other domain models in the civil engineering and other industrial engineering segments such as roads, bridges, canals, dams, and buildings.

Video Conference:

Lecture Materials


We understand how busy adults do not have time to go back to school. Now, it's possible to earn your degree in the comfort of your own home and still have time for yourself and your family. The Admissions office is here to help you, for additional information or to see if you qualify for admissions please contact us. If you are ready to apply please submit your Online Application and paste your resume and any additional comments/questions in the area provided. (Online Application) (Request Info)

Atlantic International University
800-993-0066 (Gratis en EUA)
808-924-9567 (Internacional)